Release 10.1A: OpenEdge Development:
Debugging and Troubleshooting


Logging dynamic object creation and deletion

To create log entries for dynamic object creation and deletion, use the Log Entry Types (-logentrytypes) startup parameter or, for AppServer and WebSpeed, the srvrLogEntryTypes property in the ubroker.properties file. Specify one or more of the four dynamic object log entry types in a comma-separated list, or specify DynObjects.* to get all four types. For example:

-logentrytypes DynObjects.* 
-logentrytypes DynObjects.DB,DynObjects.Other   

You also can turn on this logging at run time, by using the LOG-MANAGER system handle. For example, you can include the following line in the 4GL code:

LOG-MANAGER:LOG-ENTRY-TYPES = "DynObjects.UI" 

You can turn off this logging in the 4GL application by resetting the attribute. For example:

LOG-MANAGER:LOG-ENTRY-TYPES = ? 

Log entries generated for any of these types contain the tag DynObjects.

OpenEdge writes a log entry every time it creates or destroys a dynamic object tracked by this feature. This also includes allocation and deletion of space for MEMPTRs, if you specify DynObjects.Other or DynObjects.*.

Logging class creation and deletion

Log entries generated for this type contain the tag DYNOBJECTS. An example of Dynamic object logging messages for classes (with headers suppressed) is shown:

DYNOBJECTS Created        Progress.Lang.Object    Handle:1093 (foo.p Line 18) 
    tempclass 
DYNOBJECTS Delete Pending Progress.Lang.Object    Handle:1094 (method1 
    tempclass Line 13) tempclass 
DYNOBJECTS Deleted        Progress.Lang.Object    Handle:1093 (foo.p Line 20) 
    tempclass 


Copyright © 2005 Progress Software Corporation
www.progress.com
Voice: (781) 280-4000
Fax: (781) 280-4095